# 序列和索引
# 序列是一个用于存储多个值的连续空间，每个值都对应一个整数的编号，称为索引
# 索引有两种，分为正向递增和逆向递减

# 正向递增
# s = 'helloword'
# for i in range(0, len(s)):
#     print(i, s[i], end ='\t\t')
#
#
# print('\n')
# print('-' * 40)
#
# # 逆向递减
# for i in range(-len(s), 0):
#     print(i, s[i], end ='\t\t')


# 序列切片
# 语法：序列[start:end:step]
s = 'helloword'
# 2表示补偿，表取完当前字符后，跳过步长的距离
s1 = s[0:5:2]
# 输出h l o
print(s1)

# 省略了开始位置，start默认从0开始
print(s[:5:1])
# 省略了开始和步长，步长默认为1
print(s[:5:])
# 结束位置不写，默认到序列的最后位置
print(s[0::1])
# 省略了开始和步长
print(s[:5:])
# 序列可以从逆序操作
print(s[-1:-11:-1])

# 序列的相加操作
s2 = 'hello'
s3 = 'word'
print(s2 + s3)

# 序列的相乘操作
print(s2 * 5)

# in和not in操作
# in：如果s2是s的序列，结果为true，否则结果为false
print(s2 in s)
print('s2' in s)
print(not s2 in s)
print(not 's2' in s)

# 序列的长度
print('len(s)', len(s))

# 序列的最大值
print('max(s)', max(s))

# 序列的最小值
print('min(s)', min(s))

# 序列s中第一次出现元素x的位置
print('index', s.index("o"))
# 如果元素不存在序列中，代码就会报错
#print('index', s.index("v"))

# 序列s中出现x的总次数
print('count', s.count("o"))
